home *** CD-ROM | disk | FTP | other *** search
/ World of Video / World of Video.iso / gfxprograms / 3dprograms / rayshade-4.0 / rayfiles / rsdefs / objects / prisms.rh < prev    next >
Text File  |  1995-02-13  |  2KB  |  51 lines

  1. /************************************************************************
  2.  *
  3.  *      prisms.rh
  4.  *
  5.  *      This is an #include file for the Rayshade Standard Header
  6.  *    Files.  It defines the prism superprimitives in the package.
  7.  *
  8.  *    Please do not edit this file, or any of the other files in
  9.  *    this package!  Make additions to these in your own separate
  10.  *    file.  If you think you have something that should be added
  11.  *    permanently, please send it to Larry Coffin and/or David
  12.  *    DeBry (email addresses listed below).  If we include it in
  13.  *    the next release, we'll put your name in the contributor's
  14.  *    list.
  15.  *
  16.  *      Contributors (in alphabetical order):
  17.  *          Larry Coffin <lcoffin@clciris.chem.umr.edu>
  18.  *          David DeBry <ddebry@dsd.es.com>
  19.  */
  20.  
  21. #ifndef RSHF_PRISMS
  22. #define RSHF_PRISMS
  23.  
  24.  
  25. #define RSPquadprism(prefix,s,a,b,c,x,y,z)                \
  26. prefix list                                \
  27.     poly s (a) (b) (c)  (x) (b) (c)  (x) (y) (c)  (a) (y) (c)    \
  28.     poly s (a) (b) (c)  (a) (y) (c)  (a) (y) (z)  (a) (b) (z)    \
  29.     poly s (a) (b) (z)  (x) (b) (z)  (x) (y) (z)  (a) (y) (z)    \
  30.     poly s (x) (b) (z)  (x) (b) (c)  (x) (y) (c)  (x) (y) (z)    \
  31. end
  32.  
  33. /*************************************************************************
  34.  *
  35.  *    NOTE: RSPtriprism() will give a valid CSG solid only if the
  36.  * points (x1,z1), (x2,z2), (x3,z3) are given in clockwise order
  37.  * when viewed from the along (-y) axis and "y" is not negative.
  38.  *
  39.  */
  40.  
  41. #define RSPtriprism(prefix,s,x1,z1,x2,z2,x3,z3,y)            \
  42. prefix list                                \
  43.     poly s (x1) 0 (z1)  (x2) 0 (z2)  (x2) (y) (z2) (x1) (y) (z1)    \
  44.     poly s (x2) 0 (z2)  (x3) 0 (z3)  (x3) (y) (z3) (x2) (y) (z2)    \
  45.     poly s (x3) 0 (z3)  (x1) 0 (z1)  (x1) (y) (z1) (x3) (y) (z3)    \
  46.     triangle s (x1) (y) (z1)  (x2) (y) (z2)  (x3) (y) (z3)        \
  47.     triangle s (x1) 0 (z1)  (x3) 0 (z3)  (x2) 0 (z2)        \
  48. end
  49.  
  50. #endif /* ifndef RSHF_PRISMS */
  51.